内在可解释机器学习模型是指那些自身就具有良好解释性的模型, 这类模型最早的代表主要有统计学中的回归模型、加性模型和决策树。回归模型、加性模型和决策树虽然具备很好的可解释性, 但是精度不㿟高, 尤其是在面对当前的大数据时, 三者的精度往往比集成模型和神经网络要低。

为了解决传统内在可解释模型精度不够高的问题, 有不少学者提出了各种新的模型方法。Yin Lou、Rich Caruana 和 Johannes Gehrke于 2012 年在加性模型的基础上, 融入梯度提升树的思路,提出了EBM(Explainable Boosting Machine, 可解解释提升机)模型, EBM模型将加性模型中的特征与响应变量之间的关系, 由光滑非参函数改进为用梯度提升树来刻画, 同时加入特征交互项的信息。Zebin Yang 和 Aijun Zhang 于 2020 年在加性模荊的基础上, 融入神经网络的思想, 提出了 GAMINet, GAMI-Net 将加性模型中的特征与响应变宴之间的关系由光滑非参函数改进为用神经网络来刻画, 同时加入具有遗传效应和边界清晰性质的交互项信息,这能进一步提升模型的可解释性。Friedman 和 Popescu 于 2008 年基于树模型能抓取特征交互信息的思想提出了 RuleFit, RuleFit 方法利用树模型中的规则来抓取特征间的交互信息,再将规则视作新特征, 与原特征一起训练回归模型。Fulton Wang 和 Cynthia Rudin 于2015年使用关联分析和贝叶斯思想优化的规则提出了Falling Rule Lists,该方法通过关联分析找到一系列支持度从大到小的规则,并以贝叶斯的方法来优化迭代超参数,最后根据优化好的规则对样本进行概率预测。这些模型方法在保留可解释的前提下大大提高了精度。

传统统计模型

内在可解释模型最早主要是指一些传统的统计模型, 主要包括回归模型、加性模型和决策树等。由于传统统计模型的精度较低, 后来又有很多学者在这些模型的基础上引人神经网络或梯度提升树, 在保留模型可解释性的前提下, 大大提高了模型的精度。传统统计模型是内在可解释机器学习模型的基础模型, 本文将介绍线性回归、广义线性模型、广义加性模型和决策树这 4 个传统统计模型的基本原理及其解释性。

线性回归

线性回归(Linear Regression)是研究变量之间定量关系的一种统计模型。给定多个变量 $X_1, X_2, \cdots, X_d\left(X_j=\left\{x_{1 j}\right.\right.$, $\left.\left.x_{2 j}, \cdots, x_{n j}\right\}\right)$ 和一个随机变量 $Y=\left\{y_1, y_2, \cdots, y_n\right\}$, 当它们满足如下关系时,我们称这个模型为线性回归: $$ Y=w_0+w_1 X_1+w_2 X_2+\cdots+w_d X_d+\varepsilon, \varepsilon \sim N\left(0, \sigma^2\right) $$ 式中, $w_j(j=1,2, \cdots, d)$ 是待估参数, $w_0$ 表示截距项; $w_1, w_2, \cdots, w_d$ 称为回归系数, 分别表示 $X_1, X_2, \cdots, X_d$ 对 $Y$ 的影响程度, 可以通过最小二乘法估计出结果; $\varepsilon$ 表示残差, 满足独立同分布 (independently identically distribution) 的条件。注意式中的 $X_j$ 和 $Y$ 都是矩阵形式。

式中包含了两个部分, 一部分是残差 $\varepsilon$, 它是响应变量 $Y$ 的实际值与模型给出的预测值 $\hat{Y}$ 之差; 另一部分是 $w_0 X_0+w_1 X_1+w_2 X_2+\cdots+w_d X_d$, 它是线性回归学习到的 数据规律, 也就是模型给出的预测值 $\hat{Y}$, 预测值 $\hat{Y}$ 实际上是 在给定特征 $X$ 的条件下, 响应变量 $Y$ 的条件期望, 即 $\hat{Y}=$ $E(Y \mid X)$ 。所以: $$ \hat{Y}=E(Y \mid X)=w_0+w_1 X_1+w_2 X_2+\cdots+w_d X_d \text { (3-2) } $$ 我们将式中的 $w_0$ 这一项视作 $w_0$ 与取值全为 1 的 $n \times 1$ 行的矩阵相乘, 即 $w_0=w_0 X_0, X_0=[1 , 1 , \cdots, 1]^{\mathrm{T}}$, 再将 $w_0, w_1, \cdots, w_d$ 组合成一个 $d \times 1$ 的矩阵 $\boldsymbol{W}$, 即 $\boldsymbol{W}=$ $\left[w_0, w_1, \cdots, w_d\right]^{\mathrm{T}}$, 将 $X_1, X_2, \cdots, X_d$ 组合成一个 $n \times d$ 的矩阵 $\boldsymbol{X}$, 即 $\boldsymbol{X}=\left[X_1, X_2, \cdots, X_d\right]$ 。从而, 线性回归可以 表示为如下形式:

$\hat{Y}=\left[X_1, X_2, \cdots, X_d\right] \cdot\left[w_0, w_1, \cdots, w_d\right]^{\mathrm{T}}=\boldsymbol{X W}$

参数估计

在介绍完线性回归的模型定义之后,接下来将介绍线性回归中参数的估计方法。 即如何求解式 模型中的参数 $\boldsymbol{W}$ 。下面就来介绍如何使用最小二乘法进行参数估计。

根据最小二乘法的准则, 这里应该选择使残差平方和最小的参数 $W$, 即在给定 $n$ 个样本观测值时, 选择合适的 $W$, 使误差平方和最小: $$ \sum_{i=1}^n \varepsilon_i^2=\sum_i^n\left(y_i-x_i W\right)^2 $$ 使用矩阵的运算法则, 做进一步运算, 如下: $$ \begin{aligned} \Sigma \varepsilon^2=\varepsilon^{\mathrm{T}} \varepsilon &=(Y-X W)^{\mathrm{T}}(Y-X W) \\ &=Y^{\mathrm{T}} Y-Y^{\mathrm{T}} X W-(X W)^{\mathrm{T}} Y+(X W)^{\mathrm{T}} X W \\ &=Y^{\mathrm{T}} Y-2 W^{\mathrm{T}} X^{\mathrm{T}} Y+W^{\mathrm{T}} X^{\mathrm{T}} X W \end{aligned} $$ 对式中的参数 $W$ 求导, 使导数为 0 , 如下: $$ \begin{aligned} \frac{\partial\left(\varepsilon^{\mathrm{T}} \varepsilon\right)}{\partial W} &=\frac{\partial\left(Y^{\mathrm{T}} Y-2 W^{\mathrm{T}} X^{\mathrm{T}} Y+W^{\mathrm{T}} X^{\mathrm{T}} X W\right)}{\partial W} \\ &=-2 X^{\mathrm{T}} Y+2 X^{\mathrm{T}} X W \\ &=0 \end{aligned} $$ 从而可以求得参数的估计, 如下: $$ \hat{W}=\left(X^{\mathrm{T}} X\right)^{-1} X^{\mathrm{T}} Y $$

模型解释性

线性回归在可解释性方面具有很大的优势。例如, 我们使用多元线性回归对联合国发展规划署发布的《人的发展报告》中的部分数据进行分析, 这里使用了 3 个特征: $X_1$ (人均 $G D P$, 单位为 100 美元)、 $X_2$ (成人识字率)、 $X_3$ (一岁儿童疫苗接种率), 以及响应变量 $Y$ (人的平均寿命, 单位为年)。

线性回归的结果如下表所示。

$$ \begin{array}{|c|c|c|c|c|c|} \hline & \text { 系数 } & \text { 标准误 } & T & P>|t| \\ \hline \text { 常数项} & 33.05 & 3.092 & 10.690 & 0.000 \\ \hline X_1 & 0.071 & 0.015 &4.871 & 0.000 \\ \hline X_2 & 0.174 & 0.040 & 4.308 & 0.000 \\ \hline X_3 & 0.174 & 0.049 & 3.595 & 0.002 \\ \hline \end{array} $$

根据上表, 我们得到的线性回归模型为 $\hat{Y}=33.05+$ $0.071 X_1+0.174 X_2+0.174 X_3$ 。该模型结果显示:(1)人均 GDP、成人识字率和一岁儿童疫苗接种率对提高人均寿命都有正向影响; (2)人均 GDP 每增加 100 美元, 人均寿命增加 $0.071$ 年; (3) 成人识字率每增加 1 个百分点, 人均寿命增加 $0.174$ 年; (4)一岁儿童疫苗接种率每增加 1 个百分点, 人均寿命也会增加 $0.174$ 年。

所以, 可以从发展经济(提高人均 GDP)、发展教育 (提高成人识字率) 和发展医疗 (提高一岁儿童疫苗接种率) 三个方面制定措施,来提高人均寿命。

这一案例很好地说明了线性回归在解释性方面的优势, 根据参数 $w_1, w_2, \cdots, w_d$ 的值, 我们可以清楚地看到 $X_1$, $X_2, \cdots, X_d$ 对 $Y$ 的影响程度, 这里的影响程度包括正向影响 或负向影响, 以及影响程度的数值大小。然后再结合数据的实际意义, 对模型结果进行业务解读, 这样做能为决策提供良好的数据支撑。

本案例的线性回归模型是通过 Python 中的 statsmodels 库 实现的, 案例中使用的代码如下所示:

import pandas as pd
import statsmodels.api as sm

data = pd.read_excel('data/life_expectancy.xlsx',index_col=0)
data.columns = ['Country','Life_expectancy','GDP_per_capita','Adult_literacy_rate','Vaccination_rates_for_children']

x,y = data.iloc[:,1:-1],data.iloc[:,-1]
x = sm.add_constant(x)
model = sm.OLS(y,x)
result = model.fit()
result.summary()

线性回归的优势主要体现在以下三个方面: (1) 思想简单, 易于实现, 运行速度快; (2)对于 $X$ 与 $Y$ 满足线性关系的数据很有效;(3)解释性很强,建模结果有利于决策分析。

线性回归的不足之处主要体现在以下两个方面:(1)线性回回归只能处理 $X$ 与 $Y$ 满足线性关系的数据, 且要求 $Y$ 服从正态分布, 实际中很多数据并不满足这一要求, 所以应用面较窄; (2)与其他常见的机器学习模型相比, 线性回归的精度通常较低。

广义线性模型

模型定义

线性回归要求响应变量 $Y$ 服从正态分布, 但是实际上很多数据并不满足这一要求, 如金融数据常呈现长尾分布。为了使线性回归能够适用于更多数据问题, 可以对数据做一些转换, 使转换后的数据满足线性回归的要求, 这就是广义线性模型 (Generalized Linear Model, GLM)的思想, 该模型的矩阵形式如下: $$ g(E(Y \mid X))=X W, Y \mid X \sim f(Y \mid X) $$

其中, $g(\cdot)$ 称为连接函数 (Link Function), 满足平滑可逆的条件, $f(\cdot)$ 表示给定样本 $X$ 下$Y$ 的分布。广义线性模型的核心思想在于, 当 $Y$ 不服从正态分布时, 可以找一个合适的连接函数, 同时学习合适的模型参数 $W$, 使模型的线性部分提供的响应变量预测值, 能够尽可能地接近 $Y$ 经连接函数转化后的值。例如, 当 $Y$ 为离散数据, 且选择分布为二项分布, 取连接函数 $g(E(Y \mid X))=\ln \left(\frac{Y}{1-Y}\right)$ 时, 学习合适的参数 $W$ 使模型的线性部分输出值 $X W$ 尽可能地接近 $Y$ 经连接函数转化后的值 $\ln \left(\frac{Y}{1-Y}\right)$, 即 $\ln \left(\frac{Y}{1-Y}\right)=X W$, 此时模型变成了逻辑回归。线性回归本质上也是广义线性模型的一种特例, 广义线性模型通过连接函数使模型变得更灵活且具有普适性。常见的连接函数下表所示。

$$ \begin{array}{c|c|c} \hline \text { 分布函数 } f(\cdot) & \text { 连接函数 } g(\cdot) & \text { 生 挂函数表 } \\ \hline \text { 正态分布 } N\left(\mu, \sigma^2\right) & u & \text { 模型 } \\ \hline \text { 二项分布 } b(n, p) & \ln \left(\frac{p}{1-p}\right) & \text { 线性回归 } \\ \hline \text { 泊松分布 } \mathrm{P}(\lambda) & \ln \lambda & \text { 逻辑回归 } \\ \hline \end{array} $$

不过, 广义线性模型并不是万能的, 只有当 $Y$ 服从指数族分布时, 它才能派上用场。指数族分布是指可以写成如下形式 的分布: $$ f(Y ; \theta, \phi)=\exp \left(\frac{\theta Y-b(\theta)}{\phi}+c(Y, \phi)\right) $$ 其中, $b$ 和 $c$ 是任意函数, $\theta$ 称为自然参数, $\phi$ 称为尺度参数。 正态分布、二项分布、泊松分布、伽马分布都属于指数族分布。

參数估计

在介绍完广义线性模型的定义之后,下面就来介绍广义线 性模型中参数的估计方法, 即如何求解式中的参数 $W$ 。 我们这里以逻辑回归 (Logistic Regression) 为例,介绍如何使用最极大似然估计法 (Maximum Likelihood Estimate, MLE) 进行参数估计。我们首先对逻辑回归进行如下转换: $$ \ln \left(\frac{Y}{1-Y}\right)=X W \rightarrow Y=\frac{e^{X W}}{1+e^{X W}} $$ 可以视作在给定 $X$ 的条件下, $Y=1$ 的概率, 从而有: $$ \begin{aligned} &p(Y=1 \mid X)=\frac{\mathrm{e}^{X W}}{1+\mathrm{e}^{X W}}=\pi(X) \\ &p(Y=0 \mid X)=\frac{1}{1+\mathrm{e}^{X W}}=1-\pi(X) \end{aligned} $$ 给定 $n$ 个样本 $\left\{\left(x_1, y_1\right),\left(x_2, y_2\right), \cdots,\left(x_n, y_n\right)\right\}$, 我们可以写出逻辑回归的似然函数: $$ \prod_{i=1}^n\left[\pi\left(x_i\right)\right]^{y_i}\left[1-\pi\left(x_i\right)\right]^{1-y_i} $$ 对式取对数, 可以得到如下对数似然函数: $$ \begin{aligned} L(W) &=\sum_{i=1}^n\left[y_i \ln \pi\left(x_i\right)+\left(1-y_i\right) \ln \left(1-\pi\left(x_i\right)\right)\right] \\ &=\sum_{i=1}^n\left[y_i \ln \frac{\pi\left(x_i\right)}{1-\pi\left(x_i\right)}+\ln \left(1-\pi\left(x_i\right)\right)\right] \\ &=\sum_{i=1}^n\left[y_i \ln \frac{p\left(y_i=1 \mid x_i\right)}{p\left(y_i=0 \mid x_i\right)}+\ln \left(p\left(y_i=0 \mid x_i\right)\right)\right] \\ &=\sum_{i=1}^n\left[y_i\left(x_i W\right)-\ln \left(1+\mathrm{e}^{x_i W}\right)\right] \end{aligned} $$

之后, 再寻找使对数似然函数 $L(W)$ 取极大值的 $W$, 从而得到 $W$ 的估计值, 这一过程通常使用梯度下降法或牛顿迭代法来求解。

模型解释性

广义线性模型在解释性方面也具有很大的优势。例如, 我们可以使用逻辑回归分析某个房价数据, 该数据中只有一个特征$X$ (家庭可支配收人, 单位为万元)、响应变量 $Y$ (是否会俛 买住房, $Y$ 取值为 1 或 0 ), 那么逻辑回归的结果如下表所示。

$$ \begin{array}{c|c|c|c|c} \hline & \text { 系数 } & \text { 标准误 } & Z & P>|Z| \\ \hline \text { 常数项 } & -4.7 & 1.937 & -2.427 & 0.015 \\ \hline X & 0.19 & 0.069 & 2.745 & 0.006 \\ \hline \end{array} $$

根据上表, 我们得到的逻辑回归模型为 $\ln \left(\frac{\hat{Y}}{1-\hat{Y}}\right)=$ $-4.7+0.19 X$, 即 $\frac{\hat{Y}}{1-\hat{Y}}=e^{-4.7} \cdot e^{0.19 X}$ 。该模型结果可以体现如下三个结论: (1)家庭可支配收人对是否购买住房有正向影响; (2)家庭可支配收人每增加 1 万元,机会比例 $\left(\frac{\hat{Y}}{1-\hat{Y}}\right)$ 将翻1. 209(即 $\mathrm{e}^{0.19}$ )倍, 即购买住房的机会比例将增加 $20.9 \%$; (3)家庭可支配收人为 15 万和 16 万的人群购买住房的概率 $(\hat{Y})$ 分别为 13. 59\%和 15. $98 \%$ ,这说明在家庭可支配收人为 15 万的基础上, 收人每增加 1 万元, 购买住房的概率会增加 $2.39 \%$ 。这一模型解 秛了家庭可支配收人与是否购买住房之间的数量关系。 这一案例很好地说明了广义线性模型在解释性方面的优势, 通过参数 $w_1, w_2, \cdots, w_d$ 的值, 我们可以清楚地看到特征 $X_1, X_2, \cdots, X_d$ 对响应变量 $Y$ 的影响程度, 再结合数据 的实际意义, 对模型结果进行业务解读。 本案例的逻辑回归模型是通过 Python 中的 statsmodels 库 实现的。

模型的优势与不足

广义线性模型是线性回归的推广, 其优势主要体现在以下三 个方面: (1)模型较为简单, 较易于实现;(2)与线性回归相比, $Y$ 只需要服从指数族分布即可, 不局限于正态分布, 应用面更宽一 些, 尤其是广义线性模型中的逻辑回归, 在金融行业的应用比较 多; (3)解释性比较强, 建模结果有利于进行决策分析。

线性回归的不足之处主要体现在以下两个方面:(1)虽然广义线性模型的应用范围比线性回归广, 但它要求 $Y$ 服从指数族分布, 实际中有些数据可能不满足这一要求, 所以其应用面可能不够广泛; (2)与其他常见的机器学习模型相比, 广义线性模型的精度可能较低。

参考资料: